package com.sun.asyncimporttask.service;

import com.sun.asyncimporttask.dto.ImportErrorRecord;
import com.sun.asyncimporttask.dto.TaskInfo;
import org.apache.ibatis.javassist.NotFoundException;
import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;


/**
 * 导入服务接口
 */
public interface ImportService {
    /**
     * 异步导入Excel文件
     */
    String asyncImport(MultipartFile file);

    /**
     * 添加错误记录
     */
    void addErrorRecord(String taskId, ImportErrorRecord record);

    /**
     * 增加成功计数
     */
    void incrementSuccess(String taskId);

    /**
     * 增加失败计数
     */
    void incrementFail(String taskId);

    /**
     * 获取任务信息
     */
    TaskInfo getTaskInfo(String taskId);

    /**
     * 获取所有任务列表
     */
    List<TaskInfo> listTasks();

    /**
     * 获取错误文件资源
     */
    Resource getErrorFileResource(String taskId);

    /**
     * 获取Excel总行数
     */
    int getTotalRows(String filePath);
}